Event对象 之 chrome + firefox

最近使用jquery 写东西的时候发现,一些事件在chrome浏览器中能完美展现出来,可同样拿到firefox浏览器下却并没什么反应,通过控制台查看 出现一些报错信息 “event is not defined “,当时很诧异到底是怎么回事,为什么event未定义呢,后来查找相关文档,了解到 原因是因为在Firefox中使用了不同的事件对象模型,不同于IE Dom,用的是W3C Dom。Firefox DOM中并无event对象,不可以直接使用,需要通过函数参数传递的方式进行,比如:

1
2
3
jquery(document).on('click',function(){
var x=window.event.clientX;
});

上述代码是无法获取到触发事件的当前元素的x坐标,会出现”event is not defined”;
进行如下修改:

1
2
3
jquery(document).on('click',function(event){
var x = event.clientX;
});

OK , it’s time say godbye to “event is not defined” ;